package com.ustb.demomptest.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * @author ShiZhe
 * @create 2021-05-07 13:20
 * 实体类
 */
@Data
public class User {
    /**
     * 雪花算法，随机生成19位的值，默认为该策略。AUTO为自动增长。一般使用这2个。
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    private String name;
    private Integer age;
    private String email;
    /**
     * 自动填充属性注解
     * INSERT 添加时自动填充
     * INSERT_UPDATE 添加和更新时自动填充
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 加上版本号，实现乐观锁
     * version注解的作用是mp实现乐观锁
     * 自动填充version值
     */
    @Version
    @TableField(fill = FieldFill.INSERT)
    private Integer version;

    /**
     * 逻辑删除字段，mp默认如下，如需修改，在配置文件中设置
     * 0表示未删除
     * 1表示已删除
     */
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;
}
